package es.qb.deportivos.il.helper;

import java.util.ArrayList;
import java.util.List;

import es.qb.deportivos.bl.interfaces.TesoreriaBS;
import es.qb.deportivos.exception.GeneralBusinessException;
import es.qb.deportivos.exception.GeneralPLException;
import es.qb.deportivos.il.domain.Tesoreria;
import es.qb.deportivos.util.Utilities;

public class TesoreriaHelper {
	/**
	 * Servicio.
	 */
	private TesoreriaBS tesoreriaBS;

	/**
	 * @return the tesoreriaBS
	 */
	public TesoreriaBS getTesoreriaBS() {
		return tesoreriaBS;
	}

	/**
	 * @param tesoreriaBS
	 *            the tesoreriaBS to set
	 */
	public void setTesoreriaBS(TesoreriaBS tesoreriaBS) {
		this.tesoreriaBS = tesoreriaBS;
	}

	/**
	 * Carga la lista de tesoreria
	 * 
	 * @return List<Universidad>
	 */
	public List<Tesoreria> cargarTesoreria() throws GeneralPLException {
		List<Tesoreria> lstTesoreria = new ArrayList<Tesoreria>();

		try {
			lstTesoreria = tesoreriaBS.findAllOrderBy("fecha", false);
		} catch (GeneralBusinessException e) {
			throw new GeneralPLException(e);
		}
		return lstTesoreria;
	}

	/**
	 * Calcula el Total
	 * 
	 * @return Double
	 */
	public Double calculaTotal() throws GeneralPLException {

		try {
			return tesoreriaBS.calculaTotal();
		} catch (GeneralBusinessException e) {
			throw new GeneralPLException(e);
		}
	}

	public void borrarTesoreria(Tesoreria tesoreriaBorrar) throws GeneralPLException {

		try {
			Utilities.setearAuditoriaModificacion(tesoreriaBorrar, Boolean.TRUE);
			tesoreriaBS.update(tesoreriaBorrar);
		} catch (GeneralBusinessException e) {
			throw new GeneralPLException(e);
		}

	}
}
